The presentation of information on a computer's video display terminal is an extremely important function for many computer programs which are prepared for mass markets. Such information must be quickly and easily understood by a computer user for the computer program to be truly useful. Early computer programs almost exclusively presented information by displaying only text data at video display terminals. In recent years, increasing use is being made of graphic objects, often mixed with text data, to improve the presentation of information on a computer's video display terminal. However, further improvements are needed.
Conventional methods of operating computers and video display terminals severely limit flexibility in expressing concepts. Thus, the presentation of information is typically optimized for only one application, and nothing allows easy alteration of the way information is expressed at the video display terminal so that information is presented in a most desirable form for other applications.
To be specific, conventional computer programs which control a color graphics video display terminal are often optimized to take advantage of color. However, when color graphic visual displays are printed at a printer or plotter which only prints in black and white, the results are less than optimum. For example, a visual effect which results from using color is not necessarily duplicated merely by mechanically transforming diverse colors into diverse black and white crosshatching patterns. Moreover, various graphic objects and characters which are easily visible when presented using diverse colors become difficult to discern when simply translated to black and white. While some conventional computer programs permit a black and white view of a color graphics image, such programs do not actually alter graphic characters or objects to take full advantage of the black and white medium. Moreover, such conventional programs then do not permit interactive alteration of that image to permit a user to improve the composition of the image.
In addition, conventional computer programs are often optimized to present linguistic or textual information in accordance with a single particular language, such as English, Spanish, French, German, and the like. With this approach, separate versions of the programs must be manufactured, inventoried, purchased, and used for each language. This leads to difficulties in maintaining control over the computer programs and to increased costs.
Of course, those skilled in the art will immediately recognize that the computer program may be configured so that it consists of what amounts to multiple programs. Separate ones of these programs may then accommodate black and white graphics, color graphics, English text, Spanish text, German text, French text, and the like. However, this presents an impractical solution to the problem because it duplicates numerous programming features and requires that an extremely large portion of memory be dedicated to the task of expressing concepts for visual display. In computers with limited memory capacities, this leaves less memory for performing the basic functions for which the computer program is designed. In addition, this increases the amount of disk or secondary storage space required to hold the entire computer program. It is highly desirable to minimize the number of disks which are required to hold a program because an increased number of disks increases costs while decreasing reliability and making installation more difficult.
Overlaying represents a known method for increasing the apparent size of primary storage. This method keeps only the portions of a program that are currently being accessed within primary storage, with the rest being kept on a secondary storage device until needed. However, this does nothing to solve the problem of increased secondary storage needs. Moreover, overlaying typically involves programming instructions. Thus, the programming instructions that are being kept on secondary storage are not immediately available for execution in primary storage. Consequently, computer operations are slowed down because programming instructions must be swapped between primary and secondary storage.